export interface Classroom {
  id: number
  classroom_code: string
  classroom_name: string
  building_no: number
  floor_no: number
  room_no: number
  capacity: number
  room_type: number
  status: number
}

export interface ClassroomPayload {
  classroom_code: string
  classroom_name: string
  building_no: number
  floor_no: number
  room_no: number
  capacity: number
  room_type: number
  status?: number
}

export interface Course {
  id: number
  course_code: string
  course_name: string
  course_type: number
  grade_range?: string | null
  credit?: number | null
  course_hours?: number | null
  course_desc?: string | null
  status: number
}

export interface CoursePayload {
  course_code: string
  course_name: string
  course_type: number
  grade_range?: string
  credit?: number
  course_hours?: number
  course_desc?: string
  status?: number
}

export interface AcademicYear {
  id: number
  year_code: string
  year_name: string
  start_date: string
  end_date: string
  semester: number
  status: number
  is_current: boolean
}

export interface AcademicYearPayload {
  year_code: string
  year_name: string
  start_date: string
  end_date: string
  semester: number
  status?: number
  is_current?: boolean
}

export interface ClassItem {
  id: number
  class_code: string
  class_name: string
  academic_year_id: number
  grade: number
  class_no: number
  classroom_id?: number | null
  head_teacher_id?: number | null
  student_count?: number
  status: number
}

export interface ClassPayload {
  class_code: string
  class_name: string
  academic_year_id: number
  grade: number
  class_no: number
  classroom_id?: number
  head_teacher_id?: number | null
  student_count?: number
  status?: number
}

export interface ClassStudent {
  id: number
  class_id: number
  student_id: number
  join_date: string
  leave_date?: string | null
  status: number
}

export interface ClassStudentPayload {
  class_id: number
  student_id: number
  join_date: string
  leave_date?: string
  status?: number
}
